package com.six.dao;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.six.vo.Group;

/**
 * IGroupDao Group 组的 CRUD 操作
 * 
 */
//@Transactional(propagation=Propagation.REQUIRED)
public interface IGroupDao {
	/**
	 * 保存组
	 * 
	 */
	public void saveGroup(Group group);
	/**
	 * 更新组
	 * 
	 */
	public void updateGroup(Group group);
	/**
	 * 恢复组，状态置为【活动】
	 * 
	 */
	public void revertGroup(int gid) throws Exception;
	/**
	 * 删除组
	 * 
	 */
	public void deleteGroup(int gid) throws Exception;
	/**
	 * 通过组 id 查找该组
	 * 
	 */
	@Transactional(readOnly=true)
	public Group findGroupById(int gid);
	/**
	 * 根据指定条件查询组，若条件为空，则查询所有组
	 * 
	 */
	@Transactional(readOnly=true)
	public List<Group> findGroupList(int gid,String gname);
	/**
	 * 查找组，未被删除的组用于为管理员/员工分组
	 * 
	 */
	@Transactional(readOnly=true)
	public List<Group> findGroupListForUser(String userType);
	


}
